package com.procurement.material.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.api.domain.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 物料档案对象 pcm_material_record
 * 
 * @author liyang
 * @date 2023-12-05
 */
public class PcmMaterialRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品编号 */
    private String productNumber;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品型号 */
    @Excel(name = "产品型号")
    private String productModel;

    /** 产品类型 */
    @Excel(name = "产品类型")
    private Long productType;

    /** 产品分类 */
    @Excel(name = "产品分类")
    private Integer productCategory;

    /** 单位 */
    @Excel(name = "单位")
    private Long unit;

    /** 规格 */
    @Excel(name = "规格")
    private String specification;

    /** 材料 */
    @Excel(name = "材料")
    private String material;

    /** 颜色 */
    @Excel(name = "颜色")
    private String color;

    /** 图片 */
    @Excel(name = "图片")
    private String image;

    /** 提交人 */
    @Excel(name = "提交人")
    private Long submitter;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submissionTime;

    /**提交人表关联**/
    private SysUser sysUser;


    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public void setProductNumber(String productNumber) 
    {
        this.productNumber = productNumber;
    }

    public String getProductNumber() 
    {
        return productNumber;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductModel(String productModel) 
    {
        this.productModel = productModel;
    }

    public String getProductModel() 
    {
        return productModel;
    }
    public void setProductType(Long productType) 
    {
        this.productType = productType;
    }

    public Long getProductType() 
    {
        return productType;
    }
    public void setProductCategory(Integer productCategory) 
    {
        this.productCategory = productCategory;
    }

    public Integer getProductCategory() 
    {
        return productCategory;
    }
    public void setUnit(Long unit) 
    {
        this.unit = unit;
    }

    public Long getUnit() 
    {
        return unit;
    }
    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }
    public void setMaterial(String material) 
    {
        this.material = material;
    }

    public String getMaterial() 
    {
        return material;
    }
    public void setColor(String color) 
    {
        this.color = color;
    }

    public String getColor() 
    {
        return color;
    }
    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }
    public void setSubmitter(Long submitter) 
    {
        this.submitter = submitter;
    }

    public Long getSubmitter() 
    {
        return submitter;
    }
    public void setSubmissionTime(Date submissionTime) 
    {
        this.submissionTime = submissionTime;
    }

    public Date getSubmissionTime() 
    {
        return submissionTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productNumber", getProductNumber())
            .append("productName", getProductName())
            .append("productModel", getProductModel())
            .append("productType", getProductType())
            .append("productCategory", getProductCategory())
            .append("unit", getUnit())
            .append("specification", getSpecification())
            .append("material", getMaterial())
            .append("color", getColor())
            .append("image", getImage())
            .append("submitter", getSubmitter())
            .append("submissionTime", getSubmissionTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
